/*
 * Copyright (c) 2024-present HBIS Digital Technology Co.,Ltd. All rights reserved.
 */
package com.hbisdt.cet.sample.domain;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.util.Arrays;
import java.util.List;
import java.util.Map;

/**
 * 教师类
 *
 * @author : 教学示例
 * @version : 1.0
 * @date : 2025-03-16 18:48
 */
@Component//用于将Teacher类作为Bean注入Spring容器中
public class Teacher {

    /**
     * id
     */
    @Value("${teacher.teacherId}")
    private int teacherId;

    /**
     * 姓名
     */
    @Value("${teacher.name}")
    private String name;

    /**
     * List对象，社团
     */
    private List<String> clubs;

    /**
     * Map对象，联系方式
     */
    private Map<String, String> contactInfo;

    /**
     * 字符串数组，兴趣爱好
     */
    private String[] hobbies;

    private Course currentCourse;

    public int getTeacherId() {
        return teacherId;
    }

    public void setTeacherId(int teacherId) {
        this.teacherId = teacherId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<String> getClubs() {
        return clubs;
    }

    public void setClubs(List<String> clubs) {
        this.clubs = clubs;
    }

    public Map<String, String> getContactInfo() {
        return contactInfo;
    }

    public void setContactInfo(Map<String, String> contactInfo) {
        this.contactInfo = contactInfo;
    }

    public String[] getHobbies() {
        return hobbies;
    }

    public void setHobbies(String[] hobbies) {
        this.hobbies = hobbies;
    }

    public Course getCurrentCourse() {
        return currentCourse;
    }

    public void setCurrentCourse(Course currentCourse) {
        this.currentCourse = currentCourse;
    }

    @Override
    public String toString() {
        return "Teacher{" +
                "teacherId=" + teacherId +
                ", name='" + name + '\'' +
                ", clubs=" + clubs +
                ", contactInfo=" + contactInfo +
                ", hobbies=" + Arrays.toString(hobbies) +
                ", currentCourse=" + currentCourse +
                '}';
    }
}
